package com.jweb.plugin.mybatis.proxy;

import org.apache.ibatis.session.SqlSession;

public class AopMybatisSqlSessionUtil {
	/**
	 * 顾名思义它是local variable（线程局部变量）。 它的功用非常简单，就是为每一个使用该变量的线程都提供一个变量值的副本，
	 * 是每一个线程都可以独立地改变自己的副本，而不会和其它线程的副本冲突。 从线程的角度看，就好像每一个线程都完全拥有该变量。
	 */
	private static ThreadLocal<SqlSession> session = new ThreadLocal<SqlSession>();

	public static SqlSession getSession() {
		if (session == null)
			return null;
		return session.get();
	}

	public static void setSession(SqlSession sqlSession) {
		session.set(sqlSession);
	}

	public static void removeSession() {
		session.remove(); // remove之后即为null
	}

}
